<% if @render_args[:component] %>
  <% if defined?(Phlex::SGML) && @render_args[:component].is_a?(Phlex::SGML) %>
    <% if defined?(Phlex::VERSION) && Gem::Version.new(Phlex::VERSION) < Gem::Version.new("2.0.0") %>
      <%= raw(@render_args[:component].call(view_context: self, &@render_args[:block])) %>
    <% else %>
      <%= render(@render_args[:component], @render_args[:args], &@render_args[:block]) %>
    <% end %>
  <% else %>
    <%= render(@render_args[:component], @render_args[:args], &@render_args[:block]) %>
  <% end %>
<% else %>
  <%= render(@render_args[:template], **@render_args[:locals], &@render_args[:block]) %>
<% end %>
